package com.osgix.common.pojo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 组织机构
 */
public class Organise implements Serializable {

	private static final long serialVersionUID = -3283031278531017548L;
	/**
	 * 顶级组织机构节点,用于展示,没有具体业务含义
	 */
	public static final String TOP_DEPT_ID = "1";

	/**
	 * 部门ID
	 */
	private String deptId = "";
	/**
	 * 部门名
	 */
	private String deptName = "";
	/**
	 * 上级部门ID
	 */
	private String parentDeptId = "";

	private Integer deptLevel;

	public Integer getDeptLevel() {
		return deptLevel;
	}

	public void setDeptLevel(Integer deptLevel) {
		this.deptLevel = deptLevel;
	}

	/**
	 * 描述
	 */
	private String description = "";

	/**
	 * 状态 0:正常／１：不可使用 ;
	 */
	private int status = 0;

	/**
	 * 完整组织机构ID的DN
	 */
	private String groupDnId = "";//
	/**
	 * 完整组织机构名称DN
	 */
	private String groupDnName = "";//

	/**
	 * 组织机构类型/0：组织机构/1：组
	 */
	private int orgType = 0;//

	/**
	 * 电话
	 */
	private String orgPhone = "";
	/**
	 * 传真
	 */
	private String orgFax = "";
	/**
	 * 排序,同一节点下的组织机构根据此字段属性进行排序
	 */
	private Integer orgSortNum = 0;

	/**
	 * 状态 0：活动/1：删除; 组织机构删除时将状态置为1，正常使用查询时只查询状态为"0"的组织机构
	 */
	private int orgStatus = 0;//

	/**
	 * 备用属性1
	 */
	private String memo = "";//
	/**
	 * 备用属性2
	 */
	private int memoNum = 0;//

	/**
	 * 备用属性1
	 */
	private String memo1 = "";//

	/**
	 * 备用属性2
	 */
	private String memo2 = "";//

	/**
	 * 备用属性3
	 */
	private String memo3 = "";//

	/**
	 * 备用属性4
	 */
	private String memo4 = "";//

	/**
	 * 组织机构成员列表,在生成组织机构对象时，也应该同时生成组织机构的成员对象列表
	 */
	private List<GroupUser> leaguers = new ArrayList<GroupUser>();

	/**
	 * 构造函数
	 *
	 */
	public Organise() {

	}

	/**
	 * 构造函数
	 * @param deptID 部门ＩＤ
	 */
	public Organise(String deptID) {
		this.deptId = deptID;
	}

	/**
	 * 构造函数
	 * @param deptID
	 * @param name
	 * @param superID
	 * @param desc
	 * @param state
	 */
	public Organise(String deptId, String deptName, String parentDeptId, String description, int status) {
		this.deptId = deptId;
		this.deptName = deptName;
		this.parentDeptId = parentDeptId;
		this.description = description;
		this.status = status;
	}

	public String getDeptId() {
		return deptId;
	}

	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public String getParentDeptId() {
		return parentDeptId;
	}

	public void setParentDeptId(String parentDeptId) {
		this.parentDeptId = parentDeptId;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public String getGroupDnId() {
		return groupDnId;
	}

	public void setGroupDnId(String groupDnId) {
		this.groupDnId = groupDnId;
	}

	public String getGroupDnName() {
		return groupDnName;
	}

	public void setGroupDnName(String groupDnName) {
		this.groupDnName = groupDnName;
	}

	public int getOrgType() {
		return orgType;
	}

	public void setOrgType(int orgType) {
		this.orgType = orgType;
	}

	public String getOrgPhone() {
		return orgPhone;
	}

	public void setOrgPhone(String orgPhone) {
		this.orgPhone = orgPhone;
	}

	public String getOrgFax() {
		return orgFax;
	}

	public void setOrgFax(String orgFax) {
		this.orgFax = orgFax;
	}

	public Integer getOrgSortNum() {
		return orgSortNum;
	}

	public void setOrgSortNum(Integer orgSortNum) {
		this.orgSortNum = orgSortNum;
	}

	public int getOrgStatus() {
		return orgStatus;
	}

	public void setOrgStatus(int orgStatus) {
		this.orgStatus = orgStatus;
	}

	public String getMemo() {
		return memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	public List<GroupUser> getLeaguers() {
		return leaguers;
	}

	public void setLeaguers(List<GroupUser> leaguers) {
		this.leaguers = leaguers;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public static String getTopDeptId() {
		return TOP_DEPT_ID;
	}

	/**
	 * 
	 * 2008-8-27,上午11:08:43
	 * @author zqmao 
	 * @version 2.0
	 *
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return deptId + "/" + deptName + "/" + parentDeptId + "/" + description + "/" + orgPhone + "/" + orgFax + "/"
				+ status + "/" + orgType + "/" + orgSortNum + "/" + orgStatus;
	}

	public String getMemo1() {
		return memo1;
	}

	public void setMemo1(String memo1) {
		this.memo1 = memo1;
	}

	public String getMemo2() {
		return memo2;
	}

	public void setMemo2(String memo2) {
		this.memo2 = memo2;
	}

	public String getMemo3() {
		return memo3;
	}

	public void setMemo3(String memo3) {
		this.memo3 = memo3;
	}

	public String getMemo4() {
		return memo4;
	}

	public void setMemo4(String memo4) {
		this.memo4 = memo4;
	}

	public int getMemoNum() {
		return memoNum;
	}

	public void setMemoNum(int memoNum) {
		this.memoNum = memoNum;
	}
}
